home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Item MB Quick & Easy 2.0
/
Item MB Quick & Easy 2.0.iso
/
mbfacad
/
0043127.lsp
< prev
next >
Wrap
Lisp/Scheme
|
1998-03-15
|
5KB
|
125 lines
;=============431.27 DOPPELSCHARNIER PA 6
(defun C:0043127Z1 (/ P1 P2 L n i Wi Wix LGes P)
(EAITDBL "0043127")
(princ (strcat "\n\n" EAITbez1))
(EAITvari)
(EAITvars)
(setvar "ORTHOMODE" 1)
(setvar "OSMODE" 9)
(setq L (- EAITlmin 1))
(while (< L EAITlmin)
(EAITbpt nil nil (strcat (EAITmg "mb_mld10" "006")" "(EAITmg "mb_mld10" "015"))) ;Startpunkt (Return = relativ):
(setq P1 (getpoint))
(if (= P1 nil)(setq P1 (EAITrpt)))
(EAITbpt nil nil (strcat (EAITmg "mb_mld10" "007")" "(EAITmg "mb_mld10" "015"))) ;Endpunkt (Return = relativ):
(setq P2 (getpoint P1))
(initget 4 "?")
(EAITmsg "mb_mld12" "\n" "005" " ") ;Anzahl der Scharniere (2,3,...,?): <2>
(setq n (getint))
(setq Wi (angle P1 P2) )
(setq Wix (- (EAITbig Wi) 90) )
(setq LGes (distance P1 P2) )
(cond ((= n nil)(setq n 2))
((= n 0 )(setq n 2))
((= n "?")(progn
(setq n (1+ (fix (+ (/ LGes 600) 0.5))))
(if (< n 2)(setq n 2))
)
)
)
(setq L (/ (- LGes 160)(float (- n 1))))
(if (< L EAITlmin)(progn (EAITmsg "mb_mld12" "\n" "006" " ")(princ EAITlmin)(EAITmsg "mb_mld13" nil "006" nil)(EAITmsg "mb_mld12" " " "007" " ")))
;Ungültige Eingabe: es werden min. 30mm je Scharnier benötigt!
)
(setq P (polar P1 Wi 80) )
(setvar "ORTHOMODE" 0)
(setvar "OSMODE" 0)
(repeat n
(EAITDBL "0043127")
(command EAITege (strcat EAITpfn "43127vz") P "" "" EAITofkei Wix
EAITege (strcat EAITpfn "EAITinfo") (polar P (+ (- Wi (EAITgib 90)) (EAITgib 72)) 13.5) "" "" Wix
EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
)
(EAITDBL "0043465")
(command EAITege (strcat EAITpfn "EAITinfo") (polar P (+ (- Wi (EAITgib 90)) (EAITgib 7)) 30) "" "" Wix
EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
)
(setq P (polar P Wi L))
)
(EAITvarz2)
(princ)
)
(defun C:0043127Z2 (/ P1 P2 L n i Wi Wix LGes P)
(EAITDBL "0043127")
(princ (strcat "\n\n" EAITbez1))
(EAITvari)
(EAITvars)
(setvar "ORTHOMODE" 1)
(setvar "OSMODE" 9)
(setq L (- EAITlmin 1))
(while (< L EAITlmin)
(EAITbpt nil nil (strcat (EAITmg "mb_mld10" "006")" "(EAITmg "mb_mld10" "015"))) ;Startpunkt (Return = relativ):
(setq P1 (getpoint))
(if (= P1 nil)(setq P1 (EAITrpt)))
(EAITbpt nil nil (strcat (EAITmg "mb_mld10" "007")" "(EAITmg "mb_mld10" "015"))) ;Endpunkt (Return = relativ):
(setq P2 (getpoint P1))
(initget 4 "?")
(EAITmsg "mb_mld12" "\n" "005" " ") ;Anzahl der Scharniere (2,3,...,?): <2>
(setq n (getint))
(setq Wi (angle P1 P2) )
(setq Wix (- (EAITbig Wi) 90) )
(setq LGes (distance P1 P2) )
(cond ((= n nil)(setq n 2))
((= n 0 )(setq n 2))
((= n "?")(progn
(setq n (1+ (fix (+ (/ LGes 600) 0.5))))
(if (< n 2)(setq n 2))
)
)
)
(setq L (/ (- LGes 160)(float (- n 1))))
(if (< L EAITlmin)(progn (EAITmsg "mb_mld12" "\n" "006" " ")(princ EAITlmin)(EAITmsg "mb_mld13" nil "006" nil)(EAITmsg "mb_mld12" " " "007" " ")))
;Ungültige Eingabe: es werden min. 32mm je Scharnier benötigt!
)
(setq P (polar P1 Wi 80) )
(setvar "ORTHOMODE" 0)
(setvar "OSMODE" 0)
(setq i 1)
(repeat n
(if (< i n)
(progn (command EAITege (strcat EAITpfn "43127sz") P "" "" EAITofkei Wix)
(EAITDBL "0043127")
(command EAITege (strcat EAITpfn "EAITinfo") (polar P (+ (- Wi (EAITgib 90)) (EAITgib 51)) 14) "" "" Wix
EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
)
(EAITDBL "0043465")
(command EAITege (strcat EAITpfn "EAITinfo") (polar P (- Wi (EAITgib 90)) 1.5) "" "" Wix
EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
)
)
(progn (command EAITege (strcat EAITpfn "43127sz") P "" "" EAITofkei Wix)
(EAITDBL "0043127")
(command EAITege (strcat EAITpfn "EAITinfo") (polar P (+ (- Wi (EAITgib 90)) (EAITgib 51)) 14) "" "" Wix
EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
)
(EAITDBL "0043465")
(command EAITege (strcat EAITpfn "EAITinfo") (polar P (- Wi (EAITgib 90)) 1.5) "" "" Wix
EAITbez1 EAITbez2 EAITlie1 EAITlie2 EAITwer1 EAITwer2 (rtos EAITl1 2 1) (rtos EAITb1 2 1) EAITnr
)
)
)
(setq P (polar P Wi L)
i (1+ i))
)
(EAITvarz2)
(princ)
)
(princ)